<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
	<title>js中null,undefined,false,0,'',[],{}判断方法</title>
	<style type="text/css">
	* {
		padding: 0;
		margin: 0;
	}
    </style>
</head>
<body>
	<div class="container">
		<h1>js中null,undefined,false,0,'',[],{}判断方法</h1>
	</div>

<script type="text/javascript">
/*
字符串表示
虽然空值不能调用toString方法，但是却可以使用String构造函数进行构造。像decodeURI这样的函数，如果传入的是undefined或者null，返回的是“undefined”和“null”字符串。这点很容易用错。
https://blog.csdn.net/tt_twilight/article/details/78071736


 */
const datas = [undefined,null,0,'',false,[],{}]   
let param1 = '类型'
let param2 = 'JSON字符串'
let param3 = '转为数字类型'    
let param4 = '非'
let param5 = '与非比较'
console.log(datas) // [undefined, null, 0, "", false, Array(0), {…}]
console.log('-----------------------\n')
datas.map(data=>{
  param1+=`${typeof (data)},`
  param2+=`${JSON.stringify(data)},`
  param3+=`${Number(data)},`
  param4+=`${!data},`
  param5+=`${data==!data},` 
})

console.log(param1) // 类型 undefined,object,number,string,boolean,object,object,
console.log(param2) // JSON字符串undefined,null,0,"",false,[],{},
console.log(param3) // 转为数字类型NaN,0,0,0,0,0,NaN,
console.log(param4) // 非true,true,true,true,true,false,false,
console.log(param5) // 与非比较false,false,false,false,false,true,false,


</script>
</body>
</html>